package com.zly.android.architectural.pattern.mvp

import android.os.Bundle
import androidx.appcompat.app.AppCompatActivity

/**
 * 解决activity过于臃肿
 * mvp:
 * view:activity/fragment
 * presenter:业务处理，发起请求
 * model:数据源
 * 优点：数据变化自动更新
 * 缺点：每次都要定义接口 增加代码量
 * 不回收引用会内存泄漏
 */
class MvpActivity:AppCompatActivity(),LoginContract.View {
    var loginPresenter:LoginPresenter?=null
    override fun onResult() {

    }

    override fun onCreate(savedInstanceState: Bundle?) {
        super.onCreate(savedInstanceState)
        loginPresenter=LoginPresenter()
        loginPresenter?.attach(this)
        loginPresenter?.getUserInfo()
    }

    override fun onDestroy() {
        super.onDestroy()
        //释放 避免内存泄漏
        loginPresenter?.detach();
    }
}